package ext.acae2.dms.parse;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.log4j.Logger;

import wt.log4j.LogR;

import ext.acae2.dms.bean.DocReferenceLinkBean;
import ext.acae2.dms.bean.DocumentBean;
import ext.acae2.dms.bean.PartBean;

public class ParseDocReferenceLink {
	
	private static final Logger LOGGER = LogR.getLogger(ParseXml.class
			.getName());
	
	public static List<DocReferenceLinkBean> execute(
			List<PartBean> partList, List<DocumentBean> docList) {

		LOGGER.debug("<<< Start parseDocReferenceLink");

		List<DocReferenceLinkBean> docLinkList = new ArrayList<DocReferenceLinkBean>();

		for (int i = 0; i < docList.size(); i++) {
			if (docList.get(i).getPartId() != null) {
				String[] partIdArr = docList.get(i).getPartId().split(",");
				List<String> partIds = Arrays.asList(partIdArr);
				for (int j = 0; j < partList.size(); j++) {
					if (partIds.contains(partList.get(j).getId())) {
						DocReferenceLinkBean docLink = new DocReferenceLinkBean(
								partList.get(j), docList.get(i));
						docList.get(i).setVersion(
								partList.get(j).getVersion() + "."
										+ docList.get(i).getVersion());
						
//						docList.get(i).setOBJNAME(
//								partList.get(j).getOBJNAME());
//						docList.get(i).setTITLE(
//								partList.get(j).getTITLE());
//						docList.get(i).setDOCUMENTID(
//								partList.get(j).getDOCUMENTID());
//						docList.get(i).setDOCUMENTTYPE(
//								partList.get(j).getDOCUMENTTYPE());
//						docList.get(i).setMODEL(
//								partList.get(j).getMODEL());
//						docList.get(i).setDESIGN(
//								partList.get(j).getDESIGN());
						
						docLinkList.add(docLink);
					}
				}
			}
		}

		LOGGER.debug(">>> End parseDocReferenceLink");
		return docLinkList;
	}
}
